[iOS 8] Today Extensionの実装方法
iOS 8から追加された6種類の Extension のひとつ、
Today Extension について実装方法をまとめます。
概要はこちらの記事をご確認ください。
今日ビューにウィジェットを配置し、
「Hello World」を表示します。
実装方法
1.新規プロジェクトを作成する。
2.File> New> Target を選択し、Today Extensionターゲットを作成する。
3.各種設定を入力する。
4. schemeを有効にするか尋ねられます。Activeを押下する。
5.下記ファイルが作成される。
動作確認
1.Today Extensionのschemeを選択し、実行する。
2.Todayを選択する。
3.通知センターが表示される。
「Hello World」が表示されました!
ウィジェット名の変更
Info.plistの「Bundle display name」を修正する。
内容の更新
ウィジェットは定期的に更新され、その都度下記メソッドが実行される。
下記メソッド内で表示するデータの更新を行う。
func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!) { // Perform any setup necessary in order to update the view. // If an error is encountered, use NCUpdateResult.Failed // If there's no update required, use NCUpdateResult.NoData // If there's an update, use NCUpdateResult.NewData completionHandler(NCUpdateResult.NewData) }
completionHandler(NCUpdateResult.Failed):データの取得に失敗した
completionHandler(NCUpdateResult.NoData):データの更新がされなかった
completionHandler(NCUpdateResult.NewData):データの取得に成功した
まとめ
注意点として、下記内容があります。
・ウィジェット内でスクロールする事が難しい為、スクロールビューを置かない。
・ウィジェットではキーボード入力できない。
このような手順でウィジェットを実装する事ができます。
リリース済みアプリの場合も一部機能を抜粋し、ウィジェットに追加してみてはどうでしょうか。
概要はこちらの記事をご確認ください。